import request from '@/config/axios'

// B站视频 VO
export interface VideoVO {
  id: number // 自增ID
  userId: string // 用户ID
  nickname: string // 用户昵称
  avatar: string // 用户头像地址
  addTs: number // 记录添加时间戳
  lastModifyTs: number // 记录最后修改时间戳
  videoId: string // 视频ID
  videoType: string // 视频类型
  title: string // 视频标题
  desc: string // 视频描述
  likedCount: string // 视频点赞数
  videoPlayCount: string // 视频播放数量
  videoDanmaku: string // 视频弹幕数量
  videoComment: string // 视频评论数量
  videoUrl: string // 视频详情URL
  videoCoverUrl: string // 视频封面图 URL
}

// B站视频 API
export const VideoApi = {
  // 查询B站视频分页
  getVideoPage: async (params: any) => {
    return await request.get({ url: `/bilibili/video/page`, params })
  },

  // 查询B站视频详情
  getVideo: async (id: number) => {
    return await request.get({ url: `/bilibili/video/get?id=` + id })
  },

  // 新增B站视频
  createVideo: async (data: VideoVO) => {
    return await request.post({ url: `/bilibili/video/create`, data })
  },

  // 修改B站视频
  updateVideo: async (data: VideoVO) => {
    return await request.put({ url: `/bilibili/video/update`, data })
  },

  // 删除B站视频
  deleteVideo: async (id: number) => {
    return await request.delete({ url: `/bilibili/video/delete?id=` + id })
  },

  // 导出B站视频 Excel
  exportVideo: async (params) => {
    return await request.download({ url: `/bilibili/video/export-excel`, params })
  }
}